<template>
  <div>
    <!-- lazy的作用,改变为输入框change失去焦点后，才更新数据 -->
    <input placeholder="输入关键字搜索" v-model.lazy="keywords" />
    <table class="my-table">
      <thead>
        <tr>
          <th>就诊日期</th>
          <th>医生姓名</th>
          <th>诊断结果</th>
          <th>处方信息</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item,index) in  records2" :key="index">
          <td>{{ item.date }}</td>
          <td>{{ item.doctor }}</td>
          <td>{{ item.diagnosis }}</td>
          <td>{{ item.prescription }}</td>
          <td class="cao" @click="detail(item)">详情</td>
        </tr>
      </tbody>
    </table>
    <MyDialog :ren="ren" :visible.sync="visible"></MyDialog>
  </div>
</template>

<script>
import MyDialog from './components/MyDetails.vue';
export default {
  name: 'App',
  data() {
  return {
    keywords: '',// 和输入框双向绑定
    ren: {}, // 存一个人的信息，准备把他传递给子组件
    visible: false,
    records: [
    {
          date: '2022-01-01',
          doctor: '张三',
          diagnosis: '感冒',
          prescription: '感冒药'
        },
        {
          date: '2022-02-01',
          doctor: '李四',
          diagnosis: '头疼',
          prescription: '止疼药'
        },
        {
          date: '2022-03-01',
          doctor: '王五',
          diagnosis: '腰痛',
          prescription: '止痛贴'
        }
    ]
  }
},
  watch: {
    
  },
  methods: {
    detail (item) {
      // 1. 想办法把当前这条数据，传递给子组件
      this.ren = item
      // 2. 修改visible，让弹层显示
      this.visible = true
    }
  },
  computed: {
    records2 () {
      if(this.keywords === '') {
        return this.records
      } else {
        return this.records.filter(item => item.doctor === this.keywords)
      }
    }
  },
  components: {
    MyDialog
  }
}
</script>

<style scoped>
.my-table {
  border-collapse: collapse;
  width: 100%;
}

.my-table td,
.my-table th {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

.my-table th {
  background-color: #f2f2f2;
}
tbody .cao:hover {
  cursor: pointer;
}
</style>
